Integrantes
Apellido, Nombre Código Correo Electronico Alvarado Vargas, Fabian 201910354 fabian.alvarado@utec.edu.pe Murga Díaz, Nathalie 202110238 nathalie.murga@utec.edu.pe Flores Soto, Ronaldo Dylan 202110122 ronaldo.flores@iutec.edu.pe Vilcarromero Moscoso, Rodo Arturo 202010431 rodo.vilcarromero@utec.edu.pe Hilario Quintana, Jeffry 202020082 jeffry.hilario@utec.edu.pe
Introducción
La moda es una industria global en constante evolución y uno de los mayores impulsores del comercio internacional. Los consumidores buscan constantemente nuevas tendencias y estilos únicos, lo que hace que la industria de la moda sea altamente competitiva. Para ayudar a los minoristas a mantenerse al día con las últimas tendencias y preferencias de los consumidores, se están desarrollando nuevas herramientas de análisis de datos y motores de búsqueda para la moda.
Relevancia y Justificación:
En este contexto, el desarrollo de un gestor de motor de búsqueda para la elaboración de recomendaciones sobre las preferencias de la ropa de moda en la India se vuelve crucial para mejorar la capacidad de las empresas de este sector para ofrecer productos más acordes a las necesidades y gustos de los consumidores. Además, este tipo de herramientas tecnológicas permiten recopilar grandes cantidades de datos sobre las preferencias de los consumidores de manera eficiente, lo que es vital para mejorar la eficacia y eficiencia de la toma de decisiones empresariales.
Objetivos:
Objetivo Principal:
Nuestro objetivo de este trabajo es presentar un gestor de motor de búsqueda para elaborar recomendaciones sobre las preferencias de la ropa de moda en la India. Para ello, se analizará una base de datos, MYNTRA, que incluye información sobre los gustos y preferencias de los consumidores en cuanto a diferentes tipos de prendas y estilos de moda.
Objetivos Secundarios
A partir de esta información, se desarrollará un modelo de recomendación que permita a las empresas del sector ofrecer productos más acordes a las necesidades y gustos de los consumidores, contribuyendo así a mejorar su competitividad y su capacidad de satisfacer las demandas del mercado.
Datos
Recolección de datos
Se ha seleccionado la data de una base de datos de Kaggle con el nombre “Fashion Clothing Products Dataset” el cual presenta una población de 10000 valores. La base de datos se origina en Myntra.com, Myntra es una importante empresa india de comercio electrónico de moda con sede en Bengaluru, Karnataka, India. La empresa se fundó en 2007 para vender artículos de regalo personalizados. En mayo de 2014 , FlipKart adquirió Myntra.com.
Empezaremos cargando nuestra base de datos
library(readr)
library(dplyr)
library(modeest)
library(ggplot2)
library(plotrix)
dataframe<-read_csv("myntra_products_catalog.csv")
dataframe
Población Objetivo
Seleccionaremos una muestra de 1000 variables para poder cumplir nuestros objetivos y poder responder de manera adecuada cada pregunta usando los análisis y limpieza de los datos que hemos aprendido a lo largo de este curso.
A continuación seleccionaremos nuestra muestra
dataMuestra<-dataframe[1:1000,]
dataMuestra
y continuaremos con nuestro estudio en base a esta
Variables de estudio iniciales
Para la base de datos presentamos las siguientes variables:
| Nombre de variable | Tipo de variable | Descripción |
|---|---|---|
| ProductoId | cualitativa | Es nuestra llave primaria para cada producto, única en toda la base de datos |
| NombreProducto | cualitativa | El nombre del producto |
| MarcaProducto | cualitativa | La marca que fabrica el producto |
| Género | cualitativa | El género el cual esta destinado para el producto |
| PrecioUSD | cuantitativa | El precio en Rupias(INR) convertido a dolares estadounidenses(USD) |
| NumImagenes | cuantitativa | Cantidad de imágenes que hay para el producto |
| Descripción | cualitativa | Una pequeña descripción sobre el producto |
| ColorPrimario | cualitativa | Color del producto |
Actualizamos el nombre de nuestras columnas para una mejor visualización de nuestro estudio.
colnames(dataMuestra)
## [1] "ProductID" "ProductName" "ProductBrand" "Gender" "Price (INR)"
## [6] "NumImages" "Description" "PrimaryColor"
colnames(dataMuestra)<-c("ProductoId","NombreProducto","MarcaProducto","Genero","PrecioUSD","NumImagenes","Descripción","ColorPrimario")
Ahora nuestras columnas se llamaran
colnames(dataMuestra)
## [1] "ProductoId" "NombreProducto" "MarcaProducto" "Genero"
## [5] "PrecioUSD" "NumImagenes" "Descripción" "ColorPrimario"
Control de los Na en las variables
any(is.na(dataMuestra$ProductoId))
## [1] FALSE
any(is.na(dataMuestra$NombreProducto))
## [1] FALSE
any(is.na(dataMuestra$MarcaProducto))
## [1] FALSE
any(is.na(dataMuestra$Genero))
## [1] FALSE
any(is.na(dataMuestra$PrecioUSD))
## [1] FALSE
any(is.na(dataMuestra$NumImagenes))
## [1] FALSE
any(is.na(dataMuestra$Descripción))
## [1] FALSE
any(is.na(dataMuestra$ColorPrimario))
## [1] TRUE
Detectamos que color primario cuenta con valores Na entonces procedemos a corregirlo
dataMuestra$ColorPrimario[is.na(dataMuestra$ColorPrimario)]<-"No color"
any(is.na(dataMuestra$ColorPrimario))
## [1] FALSE
Convertimos la rupia del Precio del producto a dolares estadounidenses
dataMuestra$PrecioUSD<-dataMuestra$PrecioUSD*0.012
dataMuestra$PrecioUSD[1:10]
## [1] 140.940 69.720 10.788 67.188 9.108 9.492 8.628 10.788 7.968
## [10] 208.320
La moda de los productos.
getmode <- function(mod) {
uniqv <- unique(mod)
uniqv[which.max(tabulate(match(mod, uniqv)))]
}
modNombreProducto <- dataMuestra$NombreProducto
result <- getmode(modNombreProducto)
print(result)
## [1] "Parx Men Blue Slim Fit Checked Casual Shirt"
#OTRA FORMA
mfv(dataMuestra$NombreProducto,method="mlv")
## [1] "Parx Men Blue Slim Fit Checked Casual Shirt"
tablaNombreProducto<-table(modNombreProducto)
maxNombreProducto<-max(tablaNombreProducto)
print(maxNombreProducto)
## [1] 16
# Convertir la tabla en un dataframe
tabla_df <- as.data.frame(tablaNombreProducto)
# Acceder al conteo
conteo <- tabla_df$Freq
# Definir el valor umbral para cambiar el color de la barra
ggplot(tabla_df,aes(x=tabla_df$modNombreProducto,y=tabla_df$Freq)) +
geom_bar(stat = "identity", fill = ifelse(conteo == maxNombreProducto, "green", "blue")) +
labs(x = "Nombre Producto", y = "Cant. Apariciones") +
ggtitle("Gráfico de barras - NombreProducto") +
theme_minimal()
ProductosPreferidos<-dataMuestra %>%
filter(dataMuestra$NombreProducto==result)
precios<- as.data.frame(table(ProductosPreferidos$PrecioUSD))
colores<-as.data.frame(table(ProductosPreferidos$ColorPrimario))
sexos<-as.data.frame(table(ProductosPreferidos$Genero))
EXPLICACIÓN:
Podemos observar en mediante este gráfico de barras que el nombre que más pedido en MYNTRA es “Parx Men Blue Slim Fit Checked Casual Shirt” con un total de 16 veces pedido. Además de que su rango de precios es entre:
range(as.double(as.character(precios$Var1)))
## [1] 8.148 11.268
print(colores$Var1)
## [1] Blue
## Levels: Blue
print(sexos$Var1)
## [1] Men
## Levels: Men
Podemos concluir que los hombres, que compran “Parx Men Blue Slim Fit Checked Casual Shirt” a un precio entre 8.148 y 11.268 les gusta el color azul, además de que tambien es el producto.
La moda de la marca del producto
getmode <- function(mod) {
uniqv <- unique(mod)
uniqv[which.max(tabulate(match(mod, uniqv)))]
}
mod <- dataMuestra$MarcaProducto
result <- getmode(mod)
print(result)
## [1] "Parx"
tablaMarca<-table(dataMuestra$MarcaProducto)
maxMarca<-max(table(dataMuestra$MarcaProducto))
print(maxMarca)
## [1] 112
# Convertir la tabla en un dataframe
tabla_df <- as.data.frame(tablaMarca)
# Acceder al conteo
conteo <- tabla_df$Freq
# Definir el valor umbral para cambiar el color de la barra
ggplot(tabla_df,aes(x=tabla_df$Var1,y=tabla_df$Freq)) +
geom_bar(stat = "identity", fill = ifelse(conteo == maxMarca, "green", "blue")) +
labs(x = "Marca Producto", y = "Cant. Apariciones") +
#ggline(promedioMarca ~range())
ggtitle("Gráfico de barras - MarcaProducto") +
theme_minimal()+
theme(axis.text.x = element_text(angle = 90))
MarcaPreferida<-dataMuestra%>%
filter(dataMuestra$MarcaProducto==result)
precio<-as.data.frame(table(MarcaPreferida$PrecioUSD))
color<-as.data.frame(table(MarcaPreferida$ColorPrimario))
sexos<-as.data.frame(table(MarcaPreferida$Genero))
EXPLICACIÓN:
Podemos observar en mediante este gráfico de barras la marca “Parx” en MYNTRA es la preferida de los clientes siendo un total de 112 veces pedido
range(as.double(as.character(precio$Var1)))
## [1] 4.188 11.748
print(color)
## Var1 Freq
## 1 Beige 1
## 2 Black 1
## 3 Blue 55
## 4 Brown 2
## 5 Green 6
## 6 Grey 9
## 7 Khaki 3
## 8 Maroon 4
## 9 No color 1
## 10 Pink 5
## 11 Purple 1
## 12 Red 12
## 13 White 10
## 14 Yellow 2
print(sexos)
## Var1 Freq
## 1 Men 112
Podemos concluir que los hombres que prefieren la marca “Parx”, compran sus productos a precios entre 4.188 y 11.748, a la mayoría de dicha población les gusta el azul, pero que también escogen una gran variedad de colores.
La moda del género
result <- mlv(dataMuestra$Genero,method="mfv")
print(result)
## [1] "Men" "Women"
Podemos observar que la variable “Genero” es bimodal, ya que posee como a “Men” y “Women” como resultado de su moda.
tablaGenero<-table(dataMuestra$Genero)
maxGenero<-max(table(dataMuestra$Genero))
# Convertir la tabla en un dataframe
tabla_df <- as.data.frame(tablaGenero)
# Acceder al conteo
conteo <- tabla_df$Freq
# Definir el valor umbral para cambiar el color de la barra
ggplot(tabla_df,aes(x=tabla_df$Var1,y=tabla_df$Freq)) +
geom_bar(stat = "identity", fill = ifelse(conteo == maxGenero, "green", "blue")) +
labs(x = "Genero", y = "Cant. Apariciones") +
ggtitle("Gráfico de barras-Genero") +
theme_minimal()
EXPLICACIÓN:
Con este diagrama de barras se puede observar con mejor detenimiento como es que se distribuye la variable “Genero”, también podemos observar que la menor variable de apariciones es “Girls”. Por lo que podemos concluir que los productos en MYNTRA son más aprovachos por “Men” y “Woman”, además de que “Girls” no son clientes frecuentes en temas de “ropa de moda”.
La media de precios de la empresa en USD
mean(dataMuestra$PrecioUSD)
## [1] 20.80039
La variable “PrecioUSD” tiene un promedio de 20.80039, pero esta información no puede ser muy confiable ya que existen formas de dar falsa información.
La mediana de precios de la empresa en USD
MedianaPrecio<-median(dataMuestra$PrecioUSD)
print(MedianaPrecio)
## [1] 10.788
Podemos observar que la tendencia central en la variable “PrecioUSD” es de 10.788 dolares.
La moda de precios de la empresa en USD
getmode <- function(mod) {
uniqv <- unique(mod)
uniqv[which.max(tabulate(match(mod, uniqv)))]
}
mod <- dataMuestra$PrecioUSD
result <- getmode(mod)
print(result)
## [1] 8.388
cantResult=max(table(mod))
print(cantResult)
## [1] 63
Podemos observar que el precio 8.388 dolares en la variable “PrecioUSD” es el que más se repite, siendo un total de 63 veces, por lo que podemos concluir que el precio ideal para los productos es 8.388 dolares.
tablaPrecio<-table(dataMuestra$PrecioUSD)
tabla_df <- as.data.frame(tablaPrecio)
maxCantPrecio<-max(tablaPrecio)
conteo<-tabla_df$Freq
# Acceder al conteo
plot(tabla_df,aes(x=tabla_df$Var1,y=tabla_df$Freq),main="Rango de los precios",col="red",xlab="PreciosUSD",ylab="Cant. Apariciones")+
geom_line(stat = "identity", fill = ifelse(conteo == maxCantPrecio, "green", "blue"))
## NULL
EXPLICACION:
Podemos observar de mejor manera como se distribuyen los precios respecto a sus apariciones, notando de que la cantidad de más apariciones es del precio 8.38 con un total de 63 veces además de que los precios menos 25 dolares son la preferencia de los clientes ya que tienen una mayor cantidad de apariciones.
El rango de los precios
rango<-range(dataMuestra$PrecioUSD)
print("inicia en:")
## [1] "inicia en:"
print(rango[1])
## [1] 3.108
print("termina en:")
## [1] "termina en:"
print(rango[2])
## [1] 373.2
Los valores en la variable “PrecioUSD” están en un rango entre 3.108 y 373.2.
hist(dataMuestra$PrecioUSD,col=c("red","blue","yellow","pink"),main="Histograma de precios",xlab="Precios en USD", ylab= "Cantidad")
EXPLICACIÓN:
Se puede observar de mejor manera como la mayor cantidad de apariciones en los precios son inferiores a los 50 dolares aproximadamente, y que los precios con menos apariciones son mayores a 100 dolares proximadamente. Concluyendo que los clienetes prefieren los productos más baratos a 50 dolares.
El rango intercuartil de precios
Q1=quantile(dataMuestra$PrecioUSD,0.25)#Q1
Q3=quantile(dataMuestra$PrecioUSD,0.75)#Q1
Q3-Q1
## 75%
## 11.76
#segunda forma
IQR(dataMuestra$PrecioUSD)
## [1] 11.76
boxplot(dataMuestra$PrecioUSD,col=c('yellow'),horizontal = T,main="Rango de precios USD")
EXPLICACIÓN:
En esta boxplot podemos observar que es sesgado a la derecha con valores menores a 50 dolares, con n datos atípicos y que su su mediana está alrededor de los 25 dolares aproximadamente. Podemos concluir que la parte más corta es inferior a la mediana, y la media es mayor a la mediana.
La desviacion estandar
sd(dataMuestra$PrecioUSD)#cuanto se dispersa el precio con respecto al promedio
## [1] 34.85258
La varianza del precio
var(dataMuestra$PrecioUSD)
## [1] 1214.702
El coeficiente de variación del precio
coef_var <- function(cv, na.rm = TRUE) {
sd(cv, na.rm=na.rm) / mean(cv, na.rm=na.rm)
}
cv <- dataMuestra$PrecioUSD
print(coef_var(cv))
## [1] 1.675573
La moda de las imagenes
getmode <- function(mod) {
uniqv <- unique(mod)
uniqv[which.max(tabulate(match(mod, uniqv)))]
}
mod <- dataMuestra$NumImagenes
result <- getmode(mod)
print(result)
## [1] 5
boxplot(dataMuestra$NumImagenes,horizontal = T,col="skyblue",main="Numero de Img")
print("Promedio:")
## [1] "Promedio:"
mean(dataMuestra$NumImagenes)
## [1] 4.607
print("Mediana:")
## [1] "Mediana:"
median(dataMuestra$NumImagenes)
## [1] 5
EXPLICACIÓN:
Podeos observar que tambien presenta datos atípicos, pero algo curioso pasa en este boxplot, podemos ver que la mediana, media y la moda es aproximadamente 5, es decir podemos concluir que la distribución es simétrica.
tablaImagenes<-table(mod)
barplot(tablaImagenes,col=c('red','blue','pink','yellow','brown','skyblue','lightgreen'),main="Diagra de barras de Num. Imagenes")
> ## EXPLICACIÓN:
De una mejor manera podemos observar como es que las cantidades de los precios es que se encuentran. Con ello podemos concluir que las empresas con mayor éxito solo necesitan 5 imágenes para captar la atención del cliente.
Identificar el producto más caro:
max(dataMuestra$PrecioUSD)
## [1] 373.2
productoCaro<-dataMuestra%>%
filter(dataMuestra$PrecioUSD==max(dataMuestra$PrecioUSD))
productoCaro
unique(productoCaro$MarcaProducto)
## [1] "DKNY"
unique(productoCaro$Genero)
## [1] "Unisex"
unique(productoCaro$ColorPrimario)
## [1] "Purple" "Black"
unique(productoCaro$NombreProducto)
## [1] "DKNY Unisex Purple Large Trolley Bag"
## [2] "DKNY Unisex Black & Grey Printed Large Trolley Bag"
Los productos más caros es “DKNY Unisex Purple Large Trolley Bag” y “DKNY Unisex Black & Grey Printed Large Trolley Bag” de la marca “DKNY” para los generos de “Unisex” con un precio de 373.2 dolares en ambos casos, con los colores Purple y Black respectivamente.
Identificar los colores más repetidos que llevan el aumento de precio
Modcolor<-getmode(dataMuestra$ColorPrimario)
print(Modcolor)
## [1] "Blue"
preguntaColor<-dataMuestra %>%
filter(dataMuestra$ColorPrimario==Modcolor)
ModPrecioColor<-getmode(preguntaColor$PrecioUSD)
print(ModPrecioColor)
## [1] 8.388
cantResultColor<-max(table(preguntaColor$PrecioUSD))
barplot(table(preguntaColor$PrecioUSD), col= ifelse(table(preguntaColor$PrecioUSD)==cantResultColor,"red","green"), main="Diagrama de barras de los precios para los colores preferidos")
range(preguntaColor$PrecioUSD)
## [1] 3.192 67.188
MasCaro<-preguntaColor%>%
filter(preguntaColor$PrecioUSD==max(preguntaColor$PrecioUSD))
print(MasCaro)
## # A tibble: 1 × 8
## ProductoId NombreProducto Marca…¹ Genero Preci…² NumIm…³ Descr…⁴ Color…⁵
## <dbl> <chr> <chr> <chr> <dbl> <dbl> <chr> <chr>
## 1 10015921 Raymond Men Blue Se… Raymond Men 67.2 5 Blue s… Blue
## # … with abbreviated variable names ¹MarcaProducto, ²PrecioUSD, ³NumImagenes,
## # ⁴Descripción, ⁵ColorPrimario
EXPLICACIÓN:
Podemos observar que el color azul es el más preferido de las empresas, también que su precio más repetido es de 8.388, y se encuentra en un rango entre 3.192 y 67.188, además de que observamos de que el producto más caro con un precio de 67.188, que es destinado a los hombre, de la marca Raymond.
Con lo que podemos concluir que al alza de precio para los colores más caros, depende de la “Marca” y para el género “Cliente”.
Analizar qué productos en el mercado de la India son más caros y para qué género: Para este analizis no tomaremos en cuenta el género “Unisex” porque entraría en nuestros 2 puntos, que hablaremos a continuacion, y luego los restaremos
Cuales son los precios más caros para los Varones
table(dataMuestra$Genero)
##
## Boys Girls Men Unisex Women
## 63 43 373 148 373
preguntaBoys<- dataMuestra %>%
filter(dataMuestra$Genero=='Boys')
MaxBoys=max(preguntaBoys$PrecioUSD)
print("Marcas: ")
## [1] "Marcas: "
unique(preguntaBoys$MarcaProducto)
## [1] "Gini and Jony" "VASTRAMAY"
## [3] "JBN Creation" "U.S. Polo Assn. Kids"
## [5] "Palm Tree" "Aj DEZInES"
## [7] "Marvel by Wear Your Mind" "Bubblegummers"
print('Precio maximo para Boys:')
## [1] "Precio maximo para Boys:"
print(MaxBoys)
## [1] 20.388
preguntaMen<- dataMuestra %>%
filter(dataMuestra$Genero=='Men')
MaxMens=max(preguntaMen$PrecioUSD)
print("Marcas: ")
## [1] "Marcas: "
unique(preguntaMen$MarcaProducto)
## [1] "Raymond" "Parx"
## [3] "SHOWOFF" "Police"
## [5] "Being Human" "YAK YAK"
## [7] "HIGHLANDER" "JEWEL JUNCTION"
## [9] "ID" "Difference of Opinion"
## [11] "Michael Kors" "Urban Dog"
## [13] "Campus Sutra" "FIDO DIDO"
## [15] "Peter England" "AIGNER"
## [17] "U.S. Polo Assn. Denim Co." "Sweet Dreams"
## [19] "Qraa Men" "WITH"
## [21] "ColorPlus" "Arrow"
## [23] "DAVID BECKHAM" "Carrera"
## [25] "HARBORNBAY" "even"
## [27] "Crimsoune Club" "Puma"
## [29] "Blackberrys" "Park Avenue"
## [31] "SIMON CARTER LONDON" "Nautica"
## [33] "Bvlgari" "Hoopers"
## [35] "Peter England Casuals" "GAS"
## [37] "VASTRAMAY" "Crew STREET"
## [39] "Zippo" "aramis"
## [41] "HERE&NOW" "French Connection"
## [43] "Next Look" "XYXX"
## [45] "Geox"
print('Precio maximo para Men:')
## [1] "Precio maximo para Men:"
print(MaxMens)
## [1] 79.788
TotalVarones=MaxBoys+MaxMens
print('Precio total:')
## [1] "Precio total:"
print(TotalVarones)
## [1] 100.176
Podemos observar que los clientes más frecuentes son los Mens que los Boys, como se dijo en la moda de “Genero”, pero tambien podemos obervar que los precios al menos uno de los más caros se encuentran en los Mens, con un valor de 79.788 dolares. Dándonos un total de los maximos precios para Mens y Boys con un precio de 100.176 dolares.
Cuales son los precios más caros para las Damas
table(dataMuestra$Genero)
##
## Boys Girls Men Unisex Women
## 63 43 373 148 373
preguntaGirls<- dataMuestra %>%
filter(dataMuestra$Genero=='Girls')
print("Marcas: ")
## [1] "Marcas: "
unique(preguntaGirls$MarcaProducto)
## [1] "Gini and Jony" "Stylo Bug"
## [3] "Palm Tree" "Playdate"
## [5] "berrytree" "United Colors of Benetton"
## [7] "Bubblegummers" "Pink Cow"
## [9] "Daffodils" "Bitiya by Bhama"
MaxGirls=max(preguntaGirls$PrecioUSD)
print('Precio maximo para Girls:')
## [1] "Precio maximo para Girls:"
print(MaxGirls)
## [1] 45.6
preguntaWomen<- dataMuestra %>%
filter(dataMuestra$Genero=='Women')
print("Marcas: ")
## [1] "Marcas: "
unique(preguntaWomen$MarcaProducto)
## [1] "EthnoVogue" "SPYKAR"
## [3] "Kenneth Cole" "Vishudh"
## [5] "PARFAIT" "Michael Kors"
## [7] "Sera" "AccessHer"
## [9] "Alcis" "Tokyo Talkies"
## [11] "ANNA SUI" "her by invictus"
## [13] "Soie" "Lara Karen"
## [15] "ahilya" "BuckleUp"
## [17] "Lady Lyka" "Park Avenue"
## [19] "Roadster" "Kazo"
## [21] "Bvlgari" "GAS"
## [23] "ZUSH" "DressBerry"
## [25] "Lakme" "Allen Solly Woman"
## [27] "MANGO" "Ishin"
## [29] "Shoe Couture" "Keds"
## [31] "Rozia" "HARBORNBAY"
## [33] "Monte Carlo" "ether"
## [35] "Russell Athletic" "MIMOSA"
## [37] "Rocia" "Annabelle by Pantaloons"
## [39] "DKNY" "Beli"
## [41] "Jn Joy" "THE SILHOUETTE STORE"
## [43] "Xpose" "MBE"
## [45] "Mast & Harbour" "JC Collection"
## [47] "GUESS" "StyleStone"
## [49] "SASSAFRAS" "Kook N Keech Disney"
## [51] "Honey by Pantaloons" "Police"
## [53] "DOROTHY PERKINS" "Bhama Couture"
## [55] "Puma" "C9 AIRWEAR"
## [57] "Oxolloxo" "Crocs"
## [59] "Carlton London" "shaze"
## [61] "Tulsattva" "HERE&NOW"
MaxWomen=max(preguntaWomen$PrecioUSD)
print('Precio maximo para Women: ')
## [1] "Precio maximo para Women: "
print(MaxWomen)
## [1] 133.644
TotalDamas=MaxGirls+MaxWomen
print('Precio total: ')
## [1] "Precio total: "
print(TotalDamas)
## [1] 179.244
Podemos observar que los clientes más frecuentes son las Women que las Girls, como se dijo en la moda de “Genero”, pero también podemos obervar que los precios al menos uno de los más caros se encuentran en las Women, con un valor de 133.644 dolares. Dándonos un total de los maximos precios para Women y Girls con un precio de 179.244 dolares.
if (TotalDamas>TotalVarones){
print("Las Damas tienen precio más caro con una diferencia de ")
print(TotalDamas-TotalVarones)
print("Datos de la compra")
tablaResult<-preguntaWomen %>%
filter(preguntaWomen$PrecioUSD==MaxWomen)
tablaResult
}else{
print("Los Varones tienen precio más caro con una diferencia de ")
print(TotalVarones-TotalDamas)
}
## [1] "Las Damas tienen precio más caro con una diferencia de "
## [1] 79.068
## [1] "Datos de la compra"
Podemos concluir que las damas han comprado los productos más caros y que son de la marca “ahilya”, llamado “ahilya Gold-Plated Sterling Silver Jhumka Earrings” y que es de color “Gold”.
El rango de los precios según el genero de la ropa
ggplot(data = dataMuestra, aes(x = dataMuestra$Genero, y = dataMuestra$PrecioUSD, fill = dataMuestra$Genero)) +
geom_boxplot() +
labs(title = "Relación entre el Precio y el Género de la Ropa",
x = "Género",
y = "Precio",
fill = "Género") +
theme_minimal()
La cantidad de ropa Unisex que saca cada marca
dataHombres <- dataMuestra %>% filter(Genero == "Unisex")
ggplot(data = dataHombres, aes(x = dataHombres$MarcaProducto, fill = dataHombres$Genero)) +
geom_bar(position="dodge") +
labs(title = "Relación entre la Marca y el Género de la Ropa",
x = "Marca",
y = "Conteo",
fill = "Género") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 90))